package com.jrx.anytxn.param.dto.product;

import io.swagger.annotations.ApiModel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 表:pr_prepayment_fee
 *
 * @author 90443
 * @date 2019-07-29
 */
@ApiModel(description = "提前还款手续费表PrPrepaymentFeeRes")
public class PrPrepaymentFeeRes implements Serializable {

    private static final long serialVersionUID = 2787589263166343806L;
    /**
     * 自增主键
     * 表字段:id
     */
    private Long id;

    /**
     * 租戶id
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 费用表id
     * 表字段:prepayment_fee_id
     */
    private String prepaymentFeeId;

    /**
     * 费用表机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 中文名称
     * 表字段:chinese_name
     */
    private String chineseName;

    /**
     * 英文名称
     * 表字段:english_name
     */
    private String englishName;

    /**
     * 状态（1-正常，0-失效)
     * 表字段:status
     */
    private String tableStatus;

    /**
     * 提前还款控制标志(0 = 不允许提前还款 1 = 允许提前还款 默认为1)
     * 表字段:control_option
     */
    private String controlOption;

    /**
     * 免收费用需完成的期数
     * 表字段:waive_fee_tenor
     */
    private Integer waiveFeeTenor;

    /**
     * 费用固定值
     * 表字段:fee_charge_amount
     */
    private BigDecimal feeChargeAmount;

    /**
     * 交易码
     * 表字段:txn_code
     */
    private String txnCode;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    /**
     * 记录版本号
     * 表字段:record_version_number
     */
    private Integer recordVersionNumber;

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    /**
     * 获取自增主键
     *
     * @return id Long
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置自增主键
     *
     * @param id 自增主键
     */
    public void setId(Long id) {
        this.id = id;
    }


    public String getPrepaymentFeeId() {
        return prepaymentFeeId;
    }

    public void setPrepaymentFeeId(String prepaymentFeeId) {
        this.prepaymentFeeId = prepaymentFeeId;
    }

    /**
     * 获取费用表机构号
     *
     * @return organizationId String
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * 设置费用表机构号
     *
     * @param organizationId 费用表机构号
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    /**
     * 获取中文名称
     *
     * @return chineseName String
     */
    public String getChineseName() {
        return chineseName;
    }

    /**
     * 设置中文名称
     *
     * @param chineseName 中文名称
     */
    public void setChineseName(String chineseName) {
        this.chineseName = chineseName;
    }

    /**
     * 获取英文名称
     *
     * @return englishName String
     */
    public String getEnglishName() {
        return englishName;
    }

    /**
     * 设置英文名称
     *
     * @param englishName 英文名称
     */
    public void setEnglishName(String englishName) {
        this.englishName = englishName;
    }

    public String getTableStatus() {
        return tableStatus;
    }

    public void setTableStatus(String tableStatus) {
        this.tableStatus = tableStatus;
    }

    /**
     * 获取提前还款控制标志(0 = 不允许提前还款 1 = 允许提前还款 默认为1)
     *
     * @return controlOption String
     */
    public String getControlOption() {
        return controlOption;
    }

    /**
     * 设置提前还款控制标志(0 = 不允许提前还款 1 = 允许提前还款 默认为1)
     *
     * @param controlOption 提前还款控制标志(0 = 不允许提前还款 1 = 允许提前还款 默认为1)
     */
    public void setControlOption(String controlOption) {
        this.controlOption = controlOption;
    }

    /**
     * 获取免收费用需完成的期数
     *
     * @return waiveFeeTenor Integer
     */
    public Integer getWaiveFeeTenor() {
        return waiveFeeTenor;
    }

    /**
     * 设置免收费用需完成的期数
     *
     * @param waiveFeeTenor 免收费用需完成的期数
     */
    public void setWaiveFeeTenor(Integer waiveFeeTenor) {
        this.waiveFeeTenor = waiveFeeTenor;
    }

    /**
     * 获取费用固定值(fee_charge_option = 1时有效)
     *
     * @return feeChargeAmount BigDecimal
     */
    public BigDecimal getFeeChargeAmount() {
        return feeChargeAmount;
    }

    /**
     * 设置费用固定值(fee_charge_option = 1时有效)
     *
     * @param feeChargeAmount 费用固定值(fee_charge_option = 1时有效)
     */
    public void setFeeChargeAmount(BigDecimal feeChargeAmount) {
        this.feeChargeAmount = feeChargeAmount;
    }

    /**
     * 获取交易码
     *
     * @return txnCode String
     */
    public String getTxnCode() {
        return txnCode;
    }

    /**
     * 设置交易码
     *
     * @param txnCode 交易码
     */
    public void setTxnCode(String txnCode) {
        this.txnCode = txnCode;
    }

    /**
     * 获取创建时间
     *
     * @return createTime Date
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取最后更新时间
     *
     * @return updateTime Date
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置最后更新时间
     *
     * @param updateTime 最后更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取最后更新操作员
     *
     * @return updateBy String
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置最后更新操作员
     *
     * @param updateBy 最后更新操作员
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 获取记录版本号
     *
     * @return recordVersionNumber Integer
     */
    public Integer getRecordVersionNumber() {
        return recordVersionNumber;
    }

    /**
     * 设置记录版本号
     *
     * @param recordVersionNumber 记录版本号
     */
    public void setRecordVersionNumber(Integer recordVersionNumber) {
        this.recordVersionNumber = recordVersionNumber;
    }
}